

package dao;

import entite.Feedback;
import entite.Questionnaire;
import entite.Utilisateur;
import java.util.List;
import javax.ejb.Local;

@Local
public interface FeedbackFacadeLocal {

    /**
     * Méthode de création d'un feedback
     * @param feedback à créer
     */
    void create(Feedback feedback);

    /**
     * Méthode de modification d'un feedback
     * @param feedback à modifier
     * @return feedback trouvé
     */
    Feedback edit(Feedback feedback);

    /**
     * Méthode de suppression d'un feedback
     * @param feedback à supprimer
     */
    void remove(Feedback feedback);

    /**
     * Méthode pour trouver un feedback
     * @param id : id à trouver
     * @return feedback trouvé
     */
    Feedback find(Object id);

    /**
     * Méthode pour extraire tous les feedback
     * @return Liste des tous les feedback
     */
    List<Feedback> findAll();

    /**
     * Méthode pour extraire la liste de tous les feedback  en utilisant les indices
     * @param range : tableau d'indice
     * @return Liste des tous les feedback
     */
    List<Feedback> findRange(int[] range);

    /**
     * Méthode pour compter le nombre de feedback
     * @return nombre trouvé
     */
    int count();

    public List<Feedback> find(Questionnaire questionnaire);

    public List<Feedback> find(Questionnaire questionnaire, Utilisateur utilisateur);

}
